package cn.cqie.attendance.common.pojo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.apache.ibatis.type.Alias;

import java.io.Serializable;

/**
 * @Author: xiehaodong
 * @Date: 2021/6/19 - 15:08
 * @Description: cn.cqie.attendance.student.domian
 * @version: 1.0
 */
@Accessors(chain = true)
@ApiModel(value="student", description="")
@Alias("student")
public class Student extends User implements Serializable {
    private static final long serialVersionUID = 1L;

    public Student() {

    }
    /** 学生Id */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    private String tokenId;

    /** 学号 */
    @ApiModelProperty(value = "学号")
    private String stuNumber;

    /** 密码 */
    @ApiModelProperty(value = "密码")
    private String password;

    /** 学生姓名 */
    @ApiModelProperty(value = "学生姓名")
    private String stuName;

    /** 学生班级 */
    @ApiModelProperty(value = "学生班级")
    private Long stuClass;

    /** 学生专业 */
    @ApiModelProperty(value = "学生专业")
    private Long stuMajor;

    /** 学生年级 */
    @ApiModelProperty(value = "学生年级")
    private Long stuGrade;

    /** 身份证号码 */
    @ApiModelProperty(value = "身份证号码")
    private String identity;

    /** 0 女 1 男 */
    @ApiModelProperty(value = "0 女 1 男 ")
    private Long gender;

    /** 邮箱 */
    @ApiModelProperty(value = "邮箱")
    private String email;

    /** 手机号码 */
    @ApiModelProperty(value = "手机号码")
    private String phone;

    /** 小组 */
    @ApiModelProperty(value = "小组")
    private Long groupId;

    /** 0 前端 1 后端 2 测试 */
    @ApiModelProperty(value = "0 前端 1 后端 2 测试")
    private Long direction;

    /** 登录次数 */
    @ApiModelProperty(value = "登录次数")
    private Integer loginTimes;

    /** 学生头像 */
    @ApiModelProperty(value = "学生头像")
    private String face;

    public Student(String tokenId, Integer loginTimes) {
        super(tokenId, loginTimes);
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    @Override
    public String getToken() {
        return tokenId;
    }

    @Override
    public void setToken(String token) {
        this.tokenId = token;
    }

    public String getStuNumber() {
        return stuNumber;
    }

    public void setStuNumber(String stuNumber) {
        this.stuNumber = stuNumber;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getStuName() {
        return stuName;
    }

    public void setStuName(String stuName) {
        this.stuName = stuName;
    }

    public Long getStuClass() {
        return stuClass;
    }

    public void setStuClass(Long stuClass) {
        this.stuClass = stuClass;
    }

    public Long getStuMajor() {
        return stuMajor;
    }

    public void setStuMajor(Long stuMajor) {
        this.stuMajor = stuMajor;
    }

    public Long getStuGrade() {
        return stuGrade;
    }

    public void setStuGrade(Long stuGrade) {
        this.stuGrade = stuGrade;
    }

    public String getIdentity() {
        return identity;
    }

    public void setIdentity(String identity) {
        this.identity = identity;
    }

    public Long getGender() {
        return gender;
    }

    public void setGender(Long gender) {
        this.gender = gender;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public Long getGroupId() {
        return groupId;
    }

    public void setGroupId(Long groupId) {
        this.groupId = groupId;
    }

    public Long getDirection() {
        return direction;
    }

    public void setDirection(Long direction) {
        this.direction = direction;
    }

    @Override
    public Integer getLoginTimes() {
        return loginTimes;
    }

    @Override
    public void setLoginTimes(Integer loginTimes) {
        this.loginTimes = loginTimes;
    }

    public String getFace() {
        return face;
    }

    public void setFace(String face) {
        this.face = face;
    }
}
